; *** Reversi
; *** Copyright 1998-2002 Zillions Development
; v.2.0

; You need to purchase Zillions of Games to load this rules file
; Visit the Zillions web site at http://www.zillions-of-games.com

(version "2.0")
(translate 
 ("White" "白棋")("Black" "黑棋")
 ("disk" " ") ("Yin-Yang" "阴阳子") ("wall" "墙")
 ("4x4 Reversi (Criss-Cross)" "黑白棋 4x4 标准")
 ("4x4 Reversi (Vertical)" "黑白棋 4x4 并列")
 ("4x4 Torus Reversi (Criss-Cross)" "黑白棋 4x4 通路")
 ("6x6 Reversi (Criss-Cross)" "黑白棋 6x6 标准")
 ("6x6 Reversi (Vertical)" "黑白棋 6x6 并列")
 ("6x6 Torus Reversi (Criss-Cross)" "黑白棋 6x6 通路")
 ("6x6 Walled Reversi (Criss-Cross)" "黑白棋 6x6 障碍")
 ("8x8 Reversi (Criss-Cross)" "黑白棋 8x8 标准")
 ("8x8 Reversi (Vertical)" "黑白棋 8x8 并列")
 ("8x8 Torus Reversi (Criss-Cross)" "黑白棋 8x8 通路")
 ("8x8 Walled Reversi (Criss-Cross)" "黑白棋 8x8 障碍")
 ("8x8 Yin-Yang Reversi (Criss-Cross)" "黑白棋 8x8 阴阳")
 ("8x8 Reversed Reversi" "反黑白棋 8x8")
 ("10x10 Reversi (Criss-Cross)" "黑白棋 10x10 标准")
 ("10x10 Reversi (Vertical)" "黑白棋 10x10 并列")
 ("10x10 Walled Reversi (Criss-Cross)" "黑白棋 10x10 障碍")
 ("12x12 Reversi (Criss-Cross)" "黑白棋 12x12 标准")
 ("12x12 Reversi (Vertical)" "黑白棋 12x12 并列")
 ("12x12 Walled Reversi (Criss-Cross)" "黑白棋 12x12 障碍")
 ("14x14 Reversi (Criss-Cross)" "黑白棋 14x14 标准")
 ("14x14 Reversi (Vertical)" "黑白棋 14x14 并列")
 ("14x14 Walled Reversi (Criss-Cross)" "黑白棋 14x14 障碍")
)
(define enemy-disk? (and (enemy? $1) (not-neutral? $1)))

(define check-direction
    (if (enemy-disk? $1) ; Is there an enemy disk this direction?
    	$1
    	(while (enemy-disk? $1) $1) ; Skip to end of line
		(if (friend? $1)
			(set-flag move-found true)		
			back
			(while (enemy? $1) $1 change-owner) ; Flipping
		)
		back
	)
)

(define check-direction-r
    (if (enemy-disk? $1) ; Is there an enemy disk this direction?
    	$1
    	(while (enemy-disk? $1) $1) ; Skip to end of line
		(if (friend? $1)
			(set-flag move-found true)		
			back
			(while (enemy? $1) $1 change-owner) ; Flipping
		)
		back
	)
)

(define FourByFour
      (image "images\Reversi\Reversi4x4.bmp")
      (grid
         (start-rectangle 3 3 29 29)
         (dimensions
             ("a/b/c/d" (28 0)) ; files
             ("1/2/3/4" (0 28)) ; ranks
         )
         (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0)
			         (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)
         )
      )
)
(define SixBySix
      (image "images\Reversi\Reversi6x6.bmp")
      (grid
         (start-rectangle 3 3 29 29)
         (dimensions
             ("a/b/c/d/e/f" (28 0)) ; files
             ("1/2/3/4/5/6" (0 28)) ; ranks
         )
         (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0)
			         (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)
         )
      )
)
(define EightByEight
      (image "images\Reversi\Reversi8x8.bmp")
      (grid
         (start-rectangle 3 3 29 29)
         (dimensions
             ("a/b/c/d/e/f/g/h" (28 0)) ; files
             ("1/2/3/4/5/6/7/8" (0 28)) ; ranks
         )
         (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0)
			         (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)
         )
      )
)
(define TenByTen
      (image "images\Reversi\Reversi10x10.bmp")
      (grid
         (start-rectangle 3 3 29 29)
         (dimensions
             ("a/b/c/d/e/f/g/h/i/j" (28 0)) ; files
             ("1/2/3/4/5/6/7/8/9/10" (0 28)) ; ranks
         )
         (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0)
			         (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)
         )
      )
)
(define TwelveByTwelve
      (image "images\Reversi\Reversi12x12.bmp")
      (grid
         (start-rectangle 3 3 29 29)
         (dimensions
             ("a/b/c/d/e/f/g/h/i/j/k/l" (28 0)) ; files
             ("1/2/3/4/5/6/7/8/9/10/11/12" (0 28)) ; ranks
         )
         (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0)
			         (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)
         )
      )
)
(define FourteenByFourteen
      (image "images\Reversi\Reversi14x14.bmp")
      (grid
         (start-rectangle 3 3 29 29)
         (dimensions
             ("a/b/c/d/e/f/g/h/i/j/k/l/m/n" (28 0)) ; files
             ("1/2/3/4/5/6/7/8/9/10/11/12/13/14" (0 28)) ; ranks
         )
         (directions (n 0 -1) (e 1 0) (s 0 1) (w -1 0)
			         (ne 1 -1) (nw -1 -1) (se 1 1) (sw -1 1)
         )
      )
)


(variant
   (title "4x4 Reversi (Criss-Cross)")
   (board (FourByFour))
   (board-setup
      (Black (disk off 99 b3 c2) )
      (White (disk off 99 b2 c3) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 16))
)

(variant
   (title "4x4 Reversi (Vertical)")
   (board (FourByFour))
   (board-setup
      (Black (disk off 99 b3 b2) )
      (White (disk off 99 c3 c2) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 16))
)

(variant
   (title "4x4 Torus Reversi (Criss-Cross)")
   (engine "")
   (board-setup
      (Black (disk off 99 b3 c2) )
      (White (disk off 99 b2 c3) )
   )
   (board
      (FourByFour)
	  (links n  (a1 a4) (b1 b4) (c1 c4) (d1 d4))
	  (links s  (a4 a1) (b4 b1) (c4 c1) (d4 d1))
	  (links e  (d1 a1) (d2 a2) (d3 a3) (d4 a4))
	  (links w  (a1 d1) (a2 d2) (a3 d3) (a4 d4))
	  (links nw (a1 d4) (b1 a4) (c1 b4) (d1 c4))
	  (links se (d4 a1) (a4 b1) (b4 c1) (c4 d1))
	  (links ne (a1 b4) (b1 c4) (c1 d4) (d1 a4))
	  (links sw (b4 a1) (c4 b1) (d4 c1) (a4 d1))
	  (links nw (a2 d1) (a3 d2) (a4 d3))
	  (links se (d1 a2) (d2 a3) (d3 a4))
	  (links ne (d2 a1) (d3 a2) (d4 a3))
	  (links sw (a1 d2) (a2 d3) (a3 d4))
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 16))
)

(variant (title "-")) ; ------------------------------------------------

(variant
   (title "6x6 Reversi (Criss-Cross)")
   (board (SixBySix))
   (board-setup
      (Black (disk off 99 c4 d3) )
      (White (disk off 99 c3 d4) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 36))
)

(variant
   (title "6x6 Reversi (Vertical)")
   (board (SixBySix))
   (board-setup
      (Black (disk off 99 c4 c3) )
      (White (disk off 99 d3 d4) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 36))
)

(variant
   (title "6x6 Torus Reversi (Criss-Cross)")
   (engine "")
   (board-setup
      (Black (disk off 99 c4 d3) )
      (White (disk off 99 c3 d4) )
   )
   (board
      (SixBySix)
	  (links n  (a1 a6) (b1 b6) (c1 c6) (d1 d6) (e1 e6) (f1 f6))
	  (links s  (a6 a1) (b6 b1) (c6 c1) (d6 d1) (e6 e1) (f6 f1))
	  (links e  (f1 a1) (f2 a2) (f3 a3) (f4 a4) (f5 a5) (f6 a6))
	  (links w  (a1 f1) (a2 f2) (a3 f3) (a4 f4) (a5 f5) (a6 f6))
	  (links nw (a1 f6) (b1 a6) (c1 b6) (d1 c6) (e1 d6) (f1 e6))
	  (links se (f6 a1) (a6 b1) (b6 c1) (c6 d1) (d6 e1) (e6 f1))
	  (links ne (a1 b6) (b1 c6) (c1 d6) (d1 e6) (e1 f6) (f1 a6))
	  (links sw (b6 a1) (c6 b1) (d6 c1) (e6 d1) (f6 e1) (a6 f1))
	  (links nw (a2 f1) (a3 f2) (a4 f3) (a5 f4) (a6 f5))
	  (links se (f1 a2) (f2 a3) (f3 a4) (f4 a5) (f5 a6))
	  (links ne (f2 a1) (f3 a2) (f4 a3) (f5 a4) (f6 a5))
	  (links sw (a1 f2) (a2 f3) (a3 f4) (a4 f5) (a5 f6))
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 36))
)

(define walls6 b2 b5 e2 e5)
(variant
   (title "6x6 Walled Reversi (Criss-Cross)")
   (board (SixBySix) (unlink (walls6)))
   (board-setup
      (Black (disk off 99 c4 d3) )
      (White (disk off 99 c3 d4) )
      (Neutral (wall (walls6)) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 36))
)

(variant (title "-")) ; ------------------------------------------------

(game
   (title "8x8 Reversi (Criss-Cross)")
   (default)
   (engine "Engines\Jello.dll")
   (description "Black 黑白双方交替落子。落子位置只能是可以包夹住对方棋子的位置。落子完毕后，将包夹住的对方的棋子变成你的。\\
无位置可落时必须跳过。若双方都无位置可下，则游戏结束，盘上棋子多的获胜。\\
有些玩法带有墙壁（Walled），墙壁无法落子。\\
带有Torus的玩法：棋盘上下、左右是相通的，也即没有角落优势。")
   (history "Although rumors of earlier versions persist, no solid evidence of these
            has been found.  Reversi was indepently invented in the 1880's by two
            Englishmen, Lewis Waterman and John W. Mollett, both of whom accused the
            other of stealing his idea.  Mollett's game was called The Game of Annexation
            and played on a cross-shaped board.  Waterman used the familiar 8x8 board
            and called his game Reversi, and successfully publicized the game in books
            and articles.   Early rules for the game allowed each player only 32 disks
            each, but this had the disadvantage of rewarding a player for running out
            of moves (by giving him free moves at the end of the game).  The game is
            now played with a common pool of disks available to both players.\\
            The game was very popular in the late 19th century, but eventually fell
            out of fashion, though it was still found in books of games and commercial
            versions appeared occasionally under various names.   In the 1970's it
            reappeared (with the twist that the first four disks must be arranged in
            criss-cross fashion) and was marketed under the name Othello.  It is still
            very popular, especially in Japan, and a World Championship and many other
            tournaments are held every year.  A number of magazines devoted to Othello
            are also published.")
   (strategy "The best squares to occupy are the corners because a disk there can't be
        flipped.  Edge squares can also be powerful.  Flipping the most disks is NOT
        important in the opening stage; in fact, having more disks than your opponent in
        the early stages can be detrimental as it limits your options.   Until the endgame,
        limiting your opponent's mobility and increasing yours is an important factor
        in choosing good moves.")
   (players Black White Neutral)
   (turn-order Black White)
   (option "pass turn" forced)
   (board (EightByEight))
   (board-setup
      (Black (disk off 99 d5 e4) )
      (White (disk off 99 d4 e5) )
   )
   (piece
	  (name wall)
	  (help "墙壁：填位置用的，不能在此处落子")
	  (description "墙壁\不属于任何一方。不能在此落子。")
	  (image Neutral "images\Reversi\Wall.bmp")
   )
   (piece
		(name disk)
		(help "右键点击查看说明")
		(description "你必须把棋子下在能够翻子的空格。翻子规则如下：\
若你下子之后把对方至少一个子包夹（中间不得有空格），则被包夹的子会翻成你的子。")
		(image White "images\Reversi\WDisk2.bmp" "images\Reversi\WDisk.bmp"
			   Black "images\Reversi\BDisk2.bmp" "images\Reversi\BDisk.bmp")
		(drops
			(
				(verify empty?)
				(set-flag move-found false)
				(check-direction n)
				(check-direction ne)
				(check-direction e)
				(check-direction se)
				(check-direction s)
				(check-direction sw)
				(check-direction w)
				(check-direction nw)
				(if (flag? move-found) add)
			)
		)
    )
	(count-condition (White Black) stalemated)
    (count-condition (total-piece-count 64))
)

(variant
   (title "8x8 Reversi (Vertical)")
   (board-setup
      (Black (disk off 99 d5 d4) )
      (White (disk off 99 e5 e4) )
   )
)

(variant
   (title "8x8 Torus Reversi (Criss-Cross)")
   (engine "")
   (board-setup
      (Black (disk off 99 d5 e4) )
      (White (disk off 99 d4 e5) )
   )
   (board
      (EightByEight)
	  (links n  (a1 a8) (b1 b8) (c1 c8) (d1 d8) (e1 e8) (f1 f8) (g1 g8) (h1 h8))
	  (links s  (a8 a1) (b8 b1) (c8 c1) (d8 d1) (e8 e1) (f8 f1) (g8 g1) (h8 h1))
	  (links e  (h1 a1) (h2 a2) (h3 a3) (h4 a4) (h5 a5) (h6 a6) (h7 a7) (h8 a8))
	  (links w  (a1 h1) (a2 h2) (a3 h3) (a4 h4) (a5 h5) (a6 h6) (a7 h7) (a8 h8))
	  (links nw (a1 h8) (b1 a8) (c1 b8) (d1 c8) (e1 d8) (f1 e8) (g1 f8) (h1 g8))
	  (links se (h8 a1) (a8 b1) (b8 c1) (c8 d1) (d8 e1) (e8 f1) (f8 g1) (g8 h1))
	  (links ne (a1 b8) (b1 c8) (c1 d8) (d1 e8) (e1 f8) (f1 g8) (g1 h8) (h1 a8))
	  (links sw (b8 a1) (c8 b1) (d8 c1) (e8 d1) (f8 e1) (g8 f1) (h8 g1) (a8 h1))
	  (links nw (a2 h1) (a3 h2) (a4 h3) (a5 h4) (a6 h5) (a7 h6) (a8 h7))
	  (links se (h1 a2) (h2 a3) (h3 a4) (h4 a5) (h5 a6) (h6 a7) (h7 a8))
	  (links ne (h2 a1) (h3 a2) (h4 a3) (h5 a4) (h6 a5) (h7 a6) (h8 a7))
	  (links sw (a1 h2) (a2 h3) (a3 h4) (a4 h5) (a5 h6) (a6 h7) (a7 h8))
   )
)

(define walls8 b2 b7 g2 g7 c3 c6 f3 f6)
(variant
   (title "8x8 Walled Reversi (Criss-Cross)")
   (board (EightByEight) (unlink (walls8)))
   (board-setup
      (Black (disk off 99 d5 e4) )
      (White (disk off 99 d4 e5) )
      (Neutral (wall (walls8)) )
   )
)

(define flippable-disk? (enemy? $1))
(define check-direction-2
    (if (flippable-disk? $1) ; Is there an enemy disk this direction?
    	$1
	    (set-flag enemy-found (and (piece? disk) enemy?))
	    (set-flag neutral-found false)
    	(while (flippable-disk? $1) ; Skip to end of line
		    $1
			(if (piece? Yin-Yang)
			   (set-flag neutral-found true)
			 else
			   (set-flag enemy-found true)
			)
		)
		(if (and (flag? enemy-found) ; Enemies to be flipped
		         (or (friend? $1) (flag? neutral-found)) ; Other end of sandwich
			)
			(set-flag move-found true)
			(if (not-friend? $1)
				(while (piece? disk) (opposite $1)) ; Backup to end of sandwich
			)
			(while not-marked? (if not-neutral? change-owner) (opposite $1)) ; Flip
		)
		back
	)
)
(variant
   (title "8x8 Yin-Yang Reversi (Criss-Cross)")
   (engine "")
   (description "黑白棋基本规则不变。\\
棋盘上的四个“阴阳”棋子不属于任何一方，但是它在黑方下子时视为黑子，白方下子时视为白子。")
   (history "This particular incarnation of Reversi was invented by Jeff
        Mallett.")
   (piece
	    (name Yin-Yang)
		(help "阴阳子：轮哪方走，视为那方的棋子")
		(description "阴阳子\不属于任何一方。若轮黑棋走，它视为黑棋。若轮白棋走，它视为白棋。")
	    (image Neutral "images\Reversi\YinYang.bmp")
   )
   (piece
	   (name disk)
		(help "右键点击查看说明")
		(description "你必须把棋子下在能够翻子的空格。翻子规则如下：\
若你下子之后把对方至少一个子包夹（中间不得有空格），则被包夹的子会翻成你的子。")
	    (image White "images\Reversi\WDisk2.bmp" "images\Reversi\WDisk.bmp"
		       Black "images\Reversi\BDisk2.bmp" "images\Reversi\BDisk.bmp")
	    (drops
		    (
                (verify empty?)
			    (set-flag move-found false)
			    (check-direction-2 n)
			    (check-direction-2 ne)
			    (check-direction-2 e)
			    (check-direction-2 se)
			    (check-direction-2 s)
			    (check-direction-2 sw)
			    (check-direction-2 w)
			    (check-direction-2 nw)
			    (if (flag? move-found) add)
		    )
	    )
    )
   (board-setup
      (Black (disk off 99 d5 e4) )
      (White (disk off 99 d4 e5) )
      (Neutral (Yin-Yang c3 c6 f3 f6) )
   )
)

(variant
 (title "8x8 Reversed Reversi")
 (turn-order (Black White) (White Black))
   (engine "")
   (description "规则同黑白棋，但是棋子少的一方获胜。")
   (history "Although rumors of earlier versions persist, no solid evidence of these
            has been found.   Reversi was indepently invented in the 1880's by two
            Englishmen, Lewis Waterman and John W. Mollett, both of whom accused the
            other of stealing his idea.  Mollett's game was called The Game of Annexation
            and played on a cross-shaped board.  Waterman used the familiar 8x8 board
            and called his game Reversi, and successfully publicized the game in books
            and articles.   Early rules for the game allowed each player only 32 disks
            each, but this had the disadvantage of rewarding a player for running out
            of moves (by giving him free moves at the end of the game).   The game is
            now played with a common pool of disks available to both players.\\
            The game was very popular in the late 19th century, but eventually fell
            out of fashion, though it was still found in books of games and commercial
            versions appeared occasionally under various names.  In the 1970's it
            reappeared (with the twist that the first four disks must be arranged in
            criss-cross fashion) and was marketed under the name Othello.  It is still
            very popular, especially in Japan, and a World Championship and many other
            tournaments are held every year.  A number of magazines devoted to Othello
            are also published.\\
			The Reversed goal was suggested by Roland Johansson.")
   (strategy "The best strategy in Reversed Reversi is really the opposite of normal Reversi.  Try
        to get positions next to the corners, so your opponent is forced to take the powerful
	    corners.  Try to avoid edge squares.")
   (piece
		(name disk)
		(help "右键点击查看说明")
		(description "你必须把棋子下在能够翻子的空格。翻子规则如下：\
若你下子之后把对方至少一个子包夹（中间不得有空格），则被包夹的子会翻成你的子。\
注意此规则是棋子少的获胜")
		(image White "images\Reversi\BDisk2.bmp" "images\Reversi\BDisk.bmp"
			   Black "images\Reversi\WDisk2.bmp" "images\Reversi\WDisk.bmp")
		(drops
			(
				(verify empty?)
				(set-flag move-found false)
				(check-direction-r n)
				(check-direction-r ne)
				(check-direction-r e)
				(check-direction-r se)
				(check-direction-r s)
				(check-direction-r sw)
				(check-direction-r w)
				(check-direction-r nw)
				(if (flag? move-found) add)
			)
		)
    )
)

(variant (title "-")) ; ------------------------------------------------

(variant
   (title "10x10 Reversi (Criss-Cross)")
   (board (TenByTen))
   (board-setup
      (Black (disk off 99 e6 f5) )
      (White (disk off 99 e5 f6) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 100))
)

(variant
   (title "10x10 Reversi (Vertical)")
   (board (TenByTen))
   (board-setup
      (Black (disk off 99 e6 e5) )
      (White (disk off 99 f6 f5) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 100))
)

(define walls10 b3 c9 h2 i8 b6 e2 i5 f9)
(variant
   (title "10x10 Walled Reversi (Criss-Cross)")
   (board (TenByTen) (unlink (walls10)))
   (board-setup
      (Black (disk off 99 e6 f5) )
      (White (disk off 99 e5 f6) )
      (Neutral (wall (walls10)) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 100))
)

(variant (title "-")) ; ------------------------------------------------

(variant
   (title "12x12 Reversi (Criss-Cross)")
   (board (TwelveByTwelve))
   (board-setup
      (Black (disk off 99 f7 g6) )
      (White (disk off 99 f6 g7) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 144))
)

(variant
   (title "12x12 Reversi (Vertical)")
   (board (TwelveByTwelve))
   (board-setup
      (Black (disk off 99 f7 f6) )
      (White (disk off 99 g7 g6) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 144))
)

(define walls12 c5 e3 h3 j5 j8 h10 e10 c8)
(variant
   (title "12x12 Walled Reversi (Criss-Cross)")
   (board (TwelveByTwelve) (unlink (walls12)))
   (board-setup
      (Black (disk off 99 f7 g6) )
      (White (disk off 99 f6 g7) )
      (Neutral (wall (walls12)) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 144))
)

(variant (title "-")) ; ------------------------------------------------

(variant
   (title "14x14 Reversi (Criss-Cross)")
   (board (FourteenByFourteen))
   (board-setup
      (Black (disk off 99 g8 h7) )
      (White (disk off 99 g7 h8) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 196))
)

(variant
   (title "14x14 Reversi (Vertical)")
   (board (FourteenByFourteen))
   (board-setup
      (Black (disk off 99 g8 g7) )
      (White (disk off 99 h8 h7) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 196))
)

(define walls14 d6 d5 d4 e4 f4 i4 j4 k4 k5 k6 k9 k10 k11 j11 i11 f11 e11 d11 d10 d9)
(variant
   (title "14x14 Walled Reversi (Criss-Cross)")
   (board (FourteenByFourteen) (unlink (walls14)))
   (board-setup
      (Black (disk off 99 g8 h7) )
      (White (disk off 99 g7 h8) )
	  (Neutral (wall (walls14)) )
   )
   (count-condition (White Black) stalemated)
   (count-condition (total-piece-count 196))
)

;(variant (title "-")) ; ------------------------------------------------
;
;(variant
;   (title "32-Disk Reversi (Criss-Cross)")
;   (board-setup
;      (Black (disk off 30 d5 e4) )
;      (White (disk off 30 d4 e5) )
;   )
;)
;
;(variant
;   (title "32-Disk Reversi (Vertical)")
;   (board-setup
;     (Black (disk off 30 d5 d4) )
;      (White (disk off 30 e5 e4) )
;   )
;)

